/**
 * AgaEngine (c)2011.
 * FileName:Physics.java
 */
package aga.engine.physic;

import org.jbox2d.dynamics.Body;
import org.jbox2d.dynamics.BodyDef;

import aga.engine.go.IAgaDrawable;
import android.graphics.Canvas;
import android.graphics.Path;
import org.jbox2d.dynamics.World;

/**
 * 
 * @author User
 */
public abstract class PhysicBody extends Physic {
	//===========================================================
	//Constants
	//===========================================================
	
	//===========================================================
	//Fields
	//===========================================================
	protected BodyDef bodyDef;
	protected Body body;

	
	//===========================================================
	//Constructors
	//===========================================================
	protected PhysicBody(World world) {
        super(world);

		bodyDef = new BodyDef();
	}
	
	//===========================================================
	//Getter & Setter
	//===========================================================
	public Body getBody() {
		return body;
	}

	public void setBody(Body body) {
		this.body = body;
	}
	
	public BodyDef getBodyDef() {
		return bodyDef;
	}

	public void setBodyDef(BodyDef bodyDef) {
		this.bodyDef = bodyDef;
	}
	
	public float getAngle() {
		return body.getAngle() * RAD_TO_DEG % 360;
	}
	
	public float getX() {
		return body.getPosition().x;
	}
	
	public float getY() {
		return body.getPosition().y;
	}
	
	//===========================================================
	//Methods for/from SuperClass/Interfaces
	//===========================================================
	public abstract void draw(Canvas canvas);
	
	//===========================================================
	//Methods
	//===========================================================


	//===========================================================
	//Inner and Anonymous Classes
	//===========================================================
}
